home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / infoserv / www / cern / doc / www-talk.archive.Z / www-talk.archive / text0378.txt < prev    next >
Encoding:
Internet Message Format  |  1992-11-30  |  2.5 KB

  1. From: Tim Berners-Lee
  2. >Ok, This seems a bery good idea, if that is the functionality which DNS
  3. >supports.
  4. ><practical>
  5. >Let's try it.... Anyone care to mod HTTP.c? It's not obvious from
  6. >the gethostbyname that one is allowed to refer to different
  7. >machines:
  8. >          struct    hostent {
  9. >               char *h_name;  /* official name of host */
  10. >               char **h_aliases;   /* alias list */
  11. >               int  h_addrtype;    /* host address type */
  12. >               int  h_length; /* length of address */
  13. >               char **h_addr_list; /* list of addresses from name server */
  14. >          };
  15. >That look like a list of aliases for one machine, rather than a
  16. >list of machines for one alias! But maybe the reverse will work.
  17.  
  18. It is both; a list of alias names for a host, and a list of addresses
  19. that correspond to the canonical name ...
  20.  
  21. >So all machines support char **h_addr_list rather than the older
  22. >h_addr?   We can probably differentiate using #ifdef h_addr
  23.  
  24. Probably not, unfortunately
  25.  
  26. >which is set to a macro if there IS a list.  I assume you need then
  27. >separate entries for the virtual duplicate node and the actual
  28. >real nodes, so that you can speak to them sepately. Is this normal
  29. >and OK?
  30. Yes, you need seperate entires for the pseudo host and the real hosts
  31. that are actually providing the service. This looks like the following:
  32.  
  33. www-server.foobar.domain.           A        1.2.3.4
  34.                                     A        1.2.5.6
  35.                                     A        1.2.7.8
  36. aeschylus.foobar.domain.            A        1.2.3.4
  37. euripides.foobar.domain.            A        1.2.5.6
  38. sophocles.foobar.domain.            A        1.2.7.8
  39.  
  40. ie. the virtual hosts www-server appears to be multi-homed, but each
  41. "home" is on a different real machine.
  42.  
  43. >Is this normal and OK
  44.  
  45. Well, it's technically acceptable, but it is hardly a normal requirement
  46. in the first place.
  47.  
  48. There is one possible gotcha here: some machines verify DNS lookups
  49. by checking the forward lookup against the reverse. In this case such
  50. a check would fail, as the reverse is likely return either aeschylus,
  51. euripides or sophocles (this depends on what you put in the relevant
  52. in-addr.arpa domain, whcih is how reverse lookups work). I hope that
  53. this checking is done by apps calling gethostbyaddr after each
  54. gethostbyname, rather than being being built in gethostbyname
  55.  
  56. Adding support for multiple addresses into the clients is useful
  57. anyway... if only to support real multihomed machines
  58.  
  59. Kevin Hoadley, Rutherford Appleton Laboratory, khoadley@ib.rl.ac.uk
  60.  
  61.  
  62.